#include "../headers/bib_Fuse.h"



int asignarAtributos(struct tDirEntry archivo, struct stat *stbuf){

	stbuf->st_nlink = 1;

	if (archivo.fileAttributes == 0X20){ /*Archivo no directorio*/
		stbuf->st_size = archivo.fileSize;
		stbuf->st_mode = S_IFREG | 0777;
	}
	else
		stbuf->st_mode = S_IFDIR | 0777;

	return FIN_OK;
}
/*=====================================================================================*/
int recorrerListaArchivos(struct lstDirTable *listaArchivos, void *buf, fuse_fill_dir_t filler){

	struct lstDirTable *ptr;

	filler(buf, ".", NULL, 0);
	filler(buf, "..", NULL, 0);

	ptr = listaArchivos;

	while(ptr){
		filler(buf, ptr->info.name, NULL, 0);
		ptr = ptr->sgte;
	}

	return FIN_OK;
}
/*=====================================================================================*/
uint32_t convertBytesToClusters(uint32_t cantBytes){

	uint32_t cantClusters;

	cantClusters = cantBytes / (TAM_SECTOR * TAM_CLUSTER);

	if (cantBytes % (TAM_SECTOR * TAM_CLUSTER))
		cantClusters++;

	return cantClusters;
}
/*=====================================================================================*/
int rellenarCluster(uint32_t nroCluster, int offset, int size){

	char *buf;
	char idBloque;

	getBloque(nroCluster, &buf, &idBloque);
	memset(buf + offset, '\0', size);
	setBloque(nroCluster, idBloque);

	return FIN_OK;
}
